Voice commerce

ABSTRACT

In certain implementations, a system for facilitating voice commerce is provided. A user input comprising a natural language utterance related to a product or service to be purchased may be received. A first product or service that is to be purchased may be determined based on the utterance. First payment information that is to be used to purchase the first product or service may be obtained. First shipping information that is to be used to deliver the first product or service may be obtained. A purchase transaction for the first product or service may completed based on the first payment information and the first shipping information without further user input, after the receipt of utterance, that identifies a product or service type or a product or service, seller information, payment information, shipping information, or other information related to purchasing the first product or service .

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.16/553,553, filed Aug. 28, 2019, entitled “VOICE COMMERCE”, which is acontinuation of U.S. patent application Ser. No. 15/484,930, filed Apr.11, 2017, entitled “VOICE COMMERCE” (now U.S. Pat. No. 10,430,863 issuedOct. 1, 2019), which is a continuation of U.S. patent application Ser.No. 14/855,334, filed Sep. 15, 2015, entitled “VOICE COMMERCE” (now U.S.Pat. No. 9,626,703 issued Apr. 18, 2017), which claims the benefit ofU.S. Provisional Patent Application Ser. No. 62/051,273, filed Sep. 16,2014, entitled “VOICE COMMERCE”, all of which are hereby incorporated byreference in their entireties.

FIELD OF THE INVENTION

The invention relates to systems and methods for providing voicecommerce. More particularly, the invention relates to systems andmethods for preparing and/or completing checkout of product or servicepurchases via a single utterance.

BACKGROUND OF THE INVENTION

Mobile electronic devices have emerged to become nearly ubiquitous inthe everyday lives of many people. One of the reasons for this increaseduse is the convenience of performing tasks with a mobile electronicdevice. One task that has seen significant growth is online shopping.During an online shopping session, a user browses a website to locate aproduct or service for purchase. After the product or service has beenlocated, the user makes payment through the mobile electronic device andhas the purchased product or service delivered.

One difficulty in online shopping via a mobile electronic device is thatthe user must search a website in order to locate a product or serviceto be purchased and fill out numerous payment and shipping forms tocomplete checkout (or a purchase transaction). Mobile electronic devicestypically contain small screens and keyboards, making it hard for theuser to search for the product or service to purchase and input paymentand shipping information. While some online shopping applications assistthe user in filling out payment and shipping forms, the foregoingapplications are often limited to the amount of information that can beprovided. Further, some online shopping applications include a“one-click” purchase option. However, this still requires the user tobrowse the website to locate product or services which they wish topurchase. These and other drawbacks exist.

SUMMARY OF THE INVENTION

The invention relates to systems and methods for preparing and/orcompleting checkout of product or service purchases via a singleutterance. More particularly, the systems and methods may process asingle utterance of a user to determine a product or service that is tobe purchased, payment information that is to be used to pay for theproduct or service, shipping information that is to be used to deliverthe product or service, and/or other information that is thereafterutilized to prepare and/or complete a purchase transaction for theproduct or service. In some implementations, the preparation and/orcompletion of the purchase transaction may be performed without furtheruser input after receipt of the utterance (with which the determinationof the product or service, the payment information, or shippinginformation is based).

In an implementation, the system may receive and process a user inputcomprising a natural language utterance to determine a product orservice to be purchased on behalf of a user. As an example, one or morewords associated with the natural language utterance may be indicativeof a product or service type, product name, seller name, etc., which canbe used to determine the product or service that is to be purchased.Without further user input after the receipt of the user input (or thenatural language utterance), the system may obtain payment informationthat is to be used to pay for the product or service, shippinginformation that is to be used to deliver the product or service, orother information that is to be used to complete a purchase transactionfor the product or service.

In an implementation, upon receipt of a natural language utterance of auser, and without further user input after the receipt of the utterance,the system may process the utterance to determine a product or service,and complete a purchase transaction for the product or service based onpayment information associated with the user, shipping informationindicating who, where, when, and/or how the product or service is to bedelivered, or other information. In a further implementation, after thepurchase transaction is completed, the user may be provided with anoption to modify one or more aspects related to the product or servicepurchase (e.g., modify payment information, shipping information, sellerfrom which the product or service is purchased, etc.). As an example,the initial product or service purchase may be cancelled (and result inrefund of the payment provided for the completed purchase transaction)in response to the user's modification, and a new purchase transactionmay be initiated in accordance with the user's modification. Of course,in some implementations, such after-transaction-completion modificationsmay be limited to avoid fraud or other issues (e.g., limited to apredefined time period after the transaction completion, limited tocertain types of modifications, etc.). In this way, users can experiencethe convenience of a purchase transaction being completed with reducedactions (e.g., single utterance) without fear of inaccuracies that mightbe associated with the purchase transaction.

In an implementation, upon receipt of a natural language utterance of auser, and without further user input after the receipt of the utterance,the system may process the utterance to determine a product or serviceto be purchased, and present a request for user confirmation (or userapproval) of the product or service to be purchased, payment informationthat is to be used to pay for the product or service, shippinginformation that is to be used to deliver the product or service, orother information that is to be used to complete a purchase transactionfor the product or service. Upon receipt of the requested confirmationfrom the user, a purchase transaction for the product or service may becompleted without further user input after the receipt of the requestedconfirmation. As an example, after the user has provided the utterance,the user may be presented with a prompt that: (i) identifies the productor service, the cost(s) associated with the purchase/delivery of theproduct or service, the payment information, and the shippinginformation; and (ii) solicits the user's approval to complete checkoutof the product or service using a particular payment method (specifiedby the payment information to pay for the associated cost(s)), aparticular shipping method (specified by the shipping information),along with a name and address (specified by the shipping information) towhich the product or service is to be delivered. The user may respond byproviding a subsequent natural language utterance. If it is determined(upon receiving and processing the subsequent utterance) that the userprovided his/her approval, checkout of the product or service purchasemay be completed (e.g., without further user input after receipt of theutterance other than the subsequent utterance). In this way, theconfirmation may be used to ensure that that the information utilized tocomplete checkout of the product or service checkout is accurate andacceptable to the user.

Various other aspects of the invention will be apparent through thedetailed description of the invention and the drawings attached hereto.It is also to be understood that both the foregoing general descriptionand the following detailed description are exemplary and not restrictiveof the scope of the invention. As used in the specification and in theclaims, the singular form of “a”, “an”, and “the” include pluralreferents unless the context clearly dictates otherwise. In addition, asused in the specification and the claims, the term “or” means “and/or”unless the context clearly dictates otherwise.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a system for providing voice commerce, according toan implementation of the invention.

FIG. 2 illustrates a system for facilitating natural languageprocessing, according to an implementation of the invention.

FIG. 3 illustrates a flow diagram of a process for providing voicecommerce, according to an implementation of the invention.

FIG. 4 illustrates a flow diagram of another process for providing voicecommerce, according to an implementation of the invention.

FIG. 5 illustrates a screenshot of a user interface which facilitatesvoice commerce, according to an implementation of the invention.

FIGS. 6A and 6B illustrate screenshots of a user interface whichfacilitates voice commerce, according to an implementation of theinvention.

FIGS. 7A and 7B illustrate screenshots of a user interface whichfacilitates management of profile information, according to animplementation of the invention.

DETAILED DESCRIPTION OF THE INVENTION

In the following description, for the purposes of explanation, numerousspecific details are set forth in order to provide a thoroughunderstanding of the implementations of the invention. It will beappreciated, however, by those having skill in the art that theimplementations of the invention may be practiced without these specificdetails or with an equivalent arrangement. In other instances,well-known structures and devices are shown in block diagram form inorder to avoid unnecessarily obscuring the implementations of theinvention.

FIG. 1 illustrates a system 100 for providing voice commerce to a user,according to an implementation of the invention. In an implementation,the system 100 may prepare and/or complete checkout of product orservice purchases related to one or more user inputs. The user inputsmay comprise an auditory input (e.g., received via a microphone), avisual input (e.g., received via a camera), a tactile input (e.g.,received via a touch sensor device), a keyboard input, a mouse input, orother user input that is recognizable by the system 100. As an example,a natural language utterance may be received from a user and processedto prepare and/or complete checkout of product or service purchases.

In an implementation, system 100 may receive and process a singleutterance of a user to determine a product or service that is to bepurchased, payment information that is to be used to pay for the productor service, shipping information that is to be used to deliver theproduct or service, and/or other information that is thereafter utilizedto prepare and/or complete the purchase of the product or service.

In one use case, if the user input is a natural language utterancespoken by a user, the natural language utterance may be processed by aspeech recognition engine to recognize one or more words of the naturallanguage utterance. The recognized words may then be processed, alongwith context information associated with the user, by a natural languageprocessing engine to determine one or more products or services and/orother information (e.g., payment information, shipping information,seller information, associated cost information, etc.) that can be usedto prepare and/or complete one or more purchase transactions for theproducts or services. Upon determination of such information, forexample, the natural language processing engine may provide theinformation to one or more applications that then utilize theinformation to prepare and/or complete the purchase transactions.

As an example, when a user speaks the utterance “Send flowers to mymother,” the user's mother may be identified as the recipient of aproduct that the user intends to purchase (e.g., based on the words“send,” “my”, and “mother”), and flowers may be identified as the typeof product that the user intends to have purchased and delivered to theuser's mother (e.g., based on the words “send” and “flowers”). Withoutnecessarily receiving any further input from the user, the system 100may automatically determine the name and address of the user's mother, apayment method associated with the user, a seller from which flowers areto be purchased, a particular item (e.g., a particular flower purchaseorder) to be purchased from the seller, and the costs associated withthe purchase/delivery of the purchase item. Such information may then beutilized to initiate and/or complete a purchase transaction for thepurchase item. The name and address of the user's mother may, forexample, be determined by querying the user's profile information, theuser's address book(s) or contact list(s), the user's social network(s),one or more people search databases, etc. The payment method associatedwith the user may be determined by querying the user's profileinformation. The seller from which flowers are to be purchased or thepurchase item from the seller may be determined based on a set ofpreferred merchants indicated by a service provider (e.g., a companyassociated with the system 100), preference information associated withthe user that identifies merchants approved by the user (e.g., theuser's profile information may identify a predefined set of merchantsfrom which the user has approved the system 100 to purchase products orservices on behalf of the user), or similar criteria. For example,system 100 may determine which flowers are to be purchased from themerchant's range of offerings based on the user's profile informationincluding the types of items a user likes, qualities of items the userlikes, the categories of items a user likes, minimum item ratingrequirements, item pricing requirements, user location and contextinformation, shipping requirements, etc. The associated costs may bedetermined based on information regarding the seller, the purchase item,the mother's address, the delivery method (e.g., different feesassociated with one-day shipping, two-day shipping, etc.), the paymentmethod (e.g., different fees associated with different payment methods),or other information.

It should be noted that while, in some implementations, a purchasetransaction for a product or service may be completed without furtheruser input after receiving a natural language utterance (from which theproduct or service is determined), user input may be solicited (orreceived unsolicited) from a user in other implementations to determinepayment information, shipping information, seller information, or otherinformation that is to be used to complete the purchase transaction.

In an implementation, upon receipt of a natural language utterance of auser, and without further user input after the receipt of the utterance,the system 100 may process the utterance to determine a product orservice to be purchased, and present (e.g., via a graphical userinterface, via an auditory user interface, etc.) a request for userconfirmation (or user approval) of the product or service, shippinginformation that is to be used to deliver the product or service,payment information that is to be used to pay for the product orservice, and/or other information to ensure that such information iscorrect and accepted by the user for use with purchasing the product orservice. Upon receipt of the requested confirmation from the user, apurchase transaction for the product or service may be completed withoutfurther user input after the receipt of the requested confirmation.

As an example, with respect to the above “Send flowers to my mother”utterance scenario, the following information may be presented to theuser as part of the user confirmation request: (i) the name and addressof the user's mother; (ii) a payment method associated with the user;(iii) a seller from which flowers are to be purchased; (iv) a particularitem (e.g., a particular flower purchase order) to be purchased from theseller; and (v) the costs associated with the purchase/delivery of thepurchase item. As a further example, the user may provide any of thefollowing utterances—“That's fine,” “The information is correct,” “Goahead and purchase the flowers,” “Order the flowers,” or otherutterance—to indicate the user's confirmation to complete the purchasetransaction. As such, based on the confirmation, the purchasetransaction for the purchase item (e.g., a particular flower purchaseorder) may be completed (e.g., without further user input after thereceipt of the utterance “Send flowers to my mother” other than theconfirmation utterance).

In an implementation, user profile information (e.g., name, paymentinformation, shipping information, preferences, etc.) may be pre-storedso that the user profile information may be utilized by system 100 forpreparing and/or completing checkout of product or service purchases. Inan implementation, defaults associated with the user profileinformation, such as default payment information, default shippinginformation, etc., may be automatically or manually pre-set forpreparing and/or completing checkout of product or service purchases.

In an implementation, preferred sellers, brands, style, size, or otherparameters related to products or services may be automatically ormanually pre-set as profile information. As an example, preferredsellers from which products or services are to be purchased andpreferred brands of such products or services may be automaticallypre-set by the system (e.g., pre-set to system preferred sellers andbrands) until the preferences are manually modified by the user. Thepreferred store, brand, style, size, or other parameters may be obtained(e.g., in response to a natural language utterance indicating a productor service without further user input after the receipt of theutterance) to prepare and/or complete checkout of a product or servicepurchase unless the utterance (or other information) specifiesotherwise. In another implementation, the profile information mayinclude information relating to the general likes or dislikes of theuser utilized to select the product or service to be purchased includingthe types of items a user likes, qualities of items the user likes, thecategories of items a user likes, minimum item rating requirements, itempricing requirements, user location and context information, shippingrequirements, etc.

In an implementation, preparation and/or completion of checkout ofproduct or service purchases may be limited to certain categories ofproducts or services (e.g., no automobiles), a particular price range(e.g., no more than $100), etc., to reduce the number or severity ofpurchases related to fraud. The categories of product or services and/orthe price ranges may, for instance, be automatically or manually pre-set(e.g., automatically preset by the system, manually pre-set by theuser).

Other uses of system 100 are described herein and still others will beapparent to those having skill in the art. Having described a high leveloverview of some of the system functions, attention will now be turnedto various system components that facilitate these and other functions.

System Components

System 100 may include a computer system 104, one or more databases 132,one or more remote information sources 142, 144, 164, and/or othercomponents.

To facilitate these and other functions, computer system 104 may includeone or more computing devices 110. Each computing device 110 may includeone or more processors 112, one or more storage devices 114, and/orother components.

Processor(s) 112 may be programmed by one or more computer programinstructions, which may be stored in storage device(s) 114. The one ormore computer program instructions may include, without limitation,voice commerce application 120. Voice commerce application 120 mayitself include different sets of instructions that each program theprocessor(s) 112 (and therefore computer system 104) to perform one ormore operations described herein. For example, voice commerceapplication 120 may include user input processing instructions 122,transaction preparation instructions 124, checkout managementinstructions 126, profile management instructions 128, user interfaceinstructions 129, and/or other instructions 130 that program computersystem 104. Other applications may, of course, include one or more ofthe instructions 120-130 to perform one or more operations as describedherein. As used herein, for convenience, the various instructions willbe described as performing an operation, when, in fact, the variousinstructions program computer system 104 to perform the operation.

In some implementations, a given user device 160 may comprise a givencomputer device 110. As such, the given user device 160 may compriseprocessor(s) 112 that are programmed with one or more computer programinstructions, such as voice commerce instructions 120, user inputprocessing instructions 122, transaction preparation instructions 124,checkout management instructions 126, profile management instructions128, user interface instructions 129, and/or other instructions 130.

As used hereinafter, for convenience, the foregoing instructions will bedescribed as performing an operation, when, in fact, the variousinstructions may program processor(s) 112 (and thereafter computersystem 104) to perform the operation.

Registering User Information and Providing Voice Commerce

In an implementation, voice commerce application 120 may register a userto use the system. For example, during registration of a user, voicecommerce application 120 may obtain profile information of the user thatincludes user settings. Information obtained during registration (orregistration information) may include, for example, user identificationinformation, payment information, shipping information, userpreferences, and/or other information. The registration information mayalso include preferred sellers, brands, style, size, or other parametersrelated to products or services as well as limits on the purchase ofparticular product and service categories and particular price rangesfor products or services. In another implementation, the registrationinformation may also include limitations of certain categories ofproducts or services to be purchased and/or particular price ranges ofthe products or services to be purchased. The registration informationmay be stored as profile information associated with the user in one ormore databases, such as a database 132.

In an implementation, the voice commerce application 120 may process oneor more user inputs to prepare and/or complete checkout of product orservice purchases related to the one or more user inputs. The userinputs may comprise an auditory input (e.g., received via a microphone),a visual input (e.g., received via a camera), a tactile input (e.g.,received via a touch sensor device), an olfactory input, a gustatoryinput, a keyboard input, a mouse input, or other user input. As anexample, a natural language utterance, a natural language gesture, orother natural language user input may be received from a user, andprocessed to determine the meaning of the user input (and correspondingactions, if any, to be taken) with respect to preparation and completionof a purchase transaction. It should be noted that while, in someimplementations, the receipt of a natural language utterance may triggerpreparation and/or completion of a purchase transaction with furtheruser input after the receipt of the utterance, the receipt of a naturallanguage input of another type (e.g., gestures or other non-verbalcommunication) may, in other implementations, trigger preparation and/orcompletion of a purchase transaction with further user input after thereceipt of the input of the other type. As such, to the extent possible,one or more operations described herein as based on a natural languageutterance may, in other implementations, instead be based on a naturallanguage input of another type.

The voice commerce application 120 may utilize instructions associatedwith one or more speech recognition engines, one or more naturallanguage processing engines, or other components for processing userinputs to determine user requests related to the user inputs. Forexample, voice commerce application 120 may process a single utteranceof a user to determine a product or service that is to be purchased,payment information that is to be used to pay for the product orservice, shipping information that is to be used to deliver the productor service, and/or other information that is thereafter utilized toprepare and/or complete the purchase of the product or service.

In an implementation, voice commerce application 120 may process a userinput (e.g., a natural language utterance) to determine one or morewords associated with the user input, and initiate one or more userrequests (e.g., queries, commands, etc.) based on the determined words,context information associated with the user (e.g., a current locationof the user, the time at which the user spoke the utterance, a productor service recently discussed by the user, or other context), userprofile information, or other information. As an example, a user mayspeak the utterance “Order a pizza for delivery,” and the voice commerceapplication 120 may interpret the utterance and determine that theuser's intent is to purchase a pizza for delivery to the user. In oneuse case, without further user input after receiving the utterance, thevoice commerce application 120 may initiate and complete a purchasetransaction for the pizza to be delivered. If, for instance, the voicecommerce application 120 determines that the user is currently at home,it may complete a purchase transaction with a pizza restaurant fromwhich the user has previously ordered pizza to have the previouslyordered pizza delivered to the user's house.

In an implementation, voice commerce application 120 may utilize a userinput (e.g., a natural language utterance) to determine a product orservice that is to be purchased by searching one or more databasesassociated with one or more sellers (e.g., partners, third partyretailers, service providers, etc.). Results obtained from the searchmay include one or more products and/or services related to the userinput. Each set of results may be individually grouped according to itssource or product/service category. The voice commerce application 120may automatically select the product/service to be purchased from theset of results. As an example, a single utterance may automaticallyresult in the selection of a seller (e.g., a third party retailer) andthe selection of a product related to the utterance that is availablefor purchase via the seller.

In an implementation, the voice commerce application 120 may prepareand/or complete checkout of a product or service purchase related to oneor more user inputs. The voice commerce application 120 may determinepayment information that is to be used to pay for the product orservice, shipping information that is to be used to deliver the productor service, and/or other information that is thereafter utilized toprepare and/or complete the purchase of the product or service. In oneimplementation, the voice commerce application 120 may automaticallycomplete the checkout of the product or service purchase related to theone or more user inputs. As an example, a single utterance from the usermay result in the preparation and/or completion of the checkout of theproduct or service without further input from the user. In anotherimplementation, the voice commerce application 120 may provide a requestfor confirmation of the determined product or service, shippinginformation, payment information, and/or other information to the userto solicit a confirmation from the user to complete the checkout of theproduct or service purchase.

In an implementation, the voice commerce application 120 may utilizeuser profile information to prepare and/or complete checkout of productor service purchases via a user input. In an implementation, the voicecommerce application 120 may utilize defaults associated with the userprofile information, such as default payment information, defaultshipping information, etc., for preparing and/or completing checkout ofproduct or service purchases. In another implementation, the voicecommerce application 120 may utilize product and/or service preferencesincluding preferred sellers, brands, style, size, or other parametersrelated to products or services for preparing and/or completing checkoutof product or service purchases. In another embodiment, the voicecommerce application 120 may limit checkout of product or servicepurchases to certain categories of products or services, a particularprice range, etc., to reduce the number or severity of purchases relatedto fraud. In another implementation, the profile information maydetermine a product or service to be purchased based from profileinformation relating to the general likes or dislikes of the userincluding the types of items a user likes, qualities of items the userlikes, the categories of items a user likes, minimum item ratingrequirements, item pricing requirements, user location and contextinformation, shipping requirements, etc.

Having described high level functions and operations of voice commerceapplication 120, attention will now be turned to particular functionsand operations of voice commerce application 120 as illustrated throughits various instructions. The various instructions (e.g., user inputprocessing instructions 122, transaction preparation instructions 124,checkout management instructions 126, profile management instructions128, user interface instructions 129, and/or other instructions 130) ofvoice commerce application 120 are described individually as discreetsets of instructions by way of illustration and not limitation, as twoor more of the instructions may be combined.

User Input Processing

In an implementation, the user input processing instructions 122 mayprocess one or more user inputs of a user to prepare and/or completecheckout of product or service purchases related to the one or more userinputs. The user inputs may comprise an auditory input (e.g., receivedvia a microphone), a visual input (e.g., received via a camera), atactile input (e.g., received via a touch sensor device), a keyboardinput, a mouse input, or other user input. As described hereinelsewhere, user input processing instructions 122 may compriseinstructions associated with one or more speech recognition engines(e.g., speech recognition engine(s) 220 of FIG. 2), one or more naturallanguage processing engines (e.g., natural language processing engine(s)230 of FIG. 2), or other components for processing user inputs todetermine user requests related to the user inputs. For example, userinput processing instructions 122 may process a natural languageutterance of a user to determine a product or service that is to bepurchased, payment information that is to be used to pay for the productor service, shipping information that is to be used to deliver theproduct or service, and/or other information that is thereafter utilizedto prepare and/or complete the purchase of the product or service.

In one use case, if the user input is a natural language utterancespoken by a user, the natural language utterance may be processed by aspeech recognition engine to recognize one or more words of the naturallanguage utterance. The recognized words may then be processed, alongwith context information associated with the user, by a natural languageprocessing engine to determine one or more products or services and/orother information (e.g., payment information, shipping information,seller information, associated cost information, etc.) that can be usedto prepare and/or complete checkout of product or service purchases whenthe user provided the natural language utterance.

In an implementation, the user input processing instructions 122 mayutilize one or more previous user inputs (e.g., related to a product orservice) in processing a particular user input to determine one or moreproducts or services and/or other information (e.g., paymentinformation, shipping information, seller information, associated costinformation, etc.) that can be used to prepare and/or complete one ormore checkout of product or service purchases.

As an example, a first user input (that occurs prior to a second userinput) may be indicative of a user's intent to make a purchase (e.g.,without necessarily identifying a product or service type or a productor service), and the second user input may be indicative of a particularproduct or service type and/or a particular product or service (e.g.,without necessarily being indicative of the user's intent to make apurchase). In one use case, for example, a user may provide theutterance “I′m looking to buy something” as the first user input, afterwhich an automated personal assistant (of a related application) may askthe user what the user would like to buy. The user may respond with thesecond user input by saying “Flowers for my mom.” The word “buy” may berecognized when speech recognition is performed on the first user input,and the word “flowers” may be recognized when speech recognition isperformed on the second user input. Further processing on the word “buy”may indicate the user's intent to purchase, and further processing onthe word “flowers” may indicate the particular product type of a productthat the user would like to purchase.

As another example, a first user input (that occurs prior to a seconduser input) may be indicative of a particular product or service typeand/or a particular product or service (e.g., without necessarily beingindicative of the user's intent to make a purchase), and the second userinput may be indicative of a user's intent to make a purchase (e.g.,without necessarily identifying a product or service type or a productor service). In one scenario, for example, the user may provide theutterance “Those are beautiful flowers” while viewing photographs on afriend's social networking page. Subsequently, the user may provide theutterance “I′d like to buy some.” The words “those” and “flowers” may berecognized when speech recognition is performed on the first user input,and the words “buy” and some” may be recognized when speech recognitionis performed on the second user input. Further processing on the words“those” and “flowers” may indicate the flowers in the photographs thatthe user viewed on the friend's social networking page, and furtherprocessing on the words “buy” and “some” may indicate the user's intentto make a purchase.

FIG. 2 illustrates a system 200 for facilitating natural languageprocessing, according to an implementation of the invention. As shown inFIG. 2, system 200 may comprise input device(s) 210, speech recognitionengine(s) 220, natural language processing engine(s) 230, application(s)240, output device(s) 250, database(s) 132, or other components.

In an implementation, one or more components of system 200 may compriseone or more computer program instructions of FIG. 1 and/or processor(s)112 programmed with the computer program instructions of FIG. 1. As anexample, speech recognition engine(s) 220 and/or natural languageprocessing engine(s) 230 may comprise user input processing instructions122, transaction preparation instructions 124, checkout managementinstructions 126, profile management instructions 128, or otherinstructions.

Input device(s) 210 may comprise an auditory input device (e.g.,microphone), a keyboard, a mouse, or other input devices. Input receivedat input device(s) 210 may be provided to speech recognition engine(s)220 and/or natural language processing engine(s) 230.

Speech recognition engine(s) 220 may process one or more inputs receivedfrom input device(s) 210 to recognize one or more words represented bythe received inputs. As an example, with respect to auditory input,speech recognition engine(s) 220 may process an audio stream captured byan auditory input device to isolate segments of sound of the audiostream. The sound segments (or a representation of the sound segments)are then processed with one or more speech models (e.g., acoustic model,lexicon list, language model, etc.) to recognize one or more words ofthe received inputs. Upon recognition of the words of received inputs,the recognized words may then be provided to natural language processingengine(s) 230 for further processing. In other examples, naturallanguage processing engine(s) 230 may process one or more other types ofinputs (e.g., visual input representing sign language communication,gestures, or other forms of communication) to recognize one or morewords represented by the other types of inputs.

Natural language processing engine(s) 230 may receive one or more inputsfrom input device(s) 210, speech recognition engine(s) 220,application(s) 240, database(s) 132, or other components. As an example,natural language processing engine(s) 230 may process inputs receivedfrom input device(s) 210, such as user inputs (e.g., voice, non-voice,etc.), location-based inputs (e.g., GPS data, cell ID, etc.), othersensor data input, or other inputs to determine context informationassociated with one or more user inputs. As another example, naturallanguage processing engine(s) 230 may obtain profile information,context information, or other information from database(s) 132. Theobtained information (or context information determined based on inputsfrom input device(s) 210) may be processed to determine one or more userinputs of a user. In yet another example, natural language processingengine(s) 230 may process one or more recognized words from speechrecognition engine(s) 220 and other information (e.g., information frominput device(s) 210, application(s) 240, and/or database(s) 132) todetermine one or more user inputs.

In an implementation, natural language processing engine(s) 230,application(s) 240, or other components may store information indatabase(s) 132 for later use by natural language processing engine(s)230, application(s) 240, or other components. As an example, asdescribed in further detail elsewhere herein, natural languageprocessing engine(s) 230 may store information regarding user inputs indatabase(s) 132 and/or update profile information, or other informationin database(s) 132 based on the information regarding the user inputs.

Transaction Preparation and Search for Products or Services

In an implementation, transaction preparation instructions 124 mayutilize information from a processing of the user inputs (e.g., one ormore recognized words, product or service type, product name, sellername, etc.) to determine a product or service that is to be purchased.Transaction preparation instructions 124 may utilize such information tosearch one or more databases associated with one or more sellers (e.g.,partners, third party retailers, service providers, etc.). Resultsobtained from the search may include one or more products and/orservices related to the user input. The results are then utilized by thetransaction preparation instructions 124 to select the product orservice to be purchased by the user. As an example, a single utterancemay automatically result in the selection of a seller (e.g., a thirdparty retailer) and the selection of a product or service related to theutterance that is available for purchase via the seller.

In an implementation, transaction preparation instructions 124 mayobtain product or service results related to the user input that areavailable from a remote information source 140. Remote informationsources 140 may include information sources that are accessible tocomputer system 104 via a remote or external network connection (e.g.,outside of a firewall), such as the Internet. For example, asillustrated in FIG. 1, remote information source(s) 140 may include,without limitation, a third party search engine 142 (e.g., GOOGLE, BING,YAHOO, etc.), third party retailers 144, including online retailers andoffline retailers having an online presence (e.g., AMAZON, GROUPON,EBAY, EXPEDIA, BESTBUY, etc.), third party service providers 146 (e.g.,weather services, calendar/scheduling services, etc.), and/or otherinformation source that is remotely accessible to computer system 104.In another implementation, the transaction preparation instructions 124may select the product or service (that is to be purchased) from one ormore predetermined sets of products or services stored in database 132.For example, system 200 may store one or more sets of predeterminedproducts or services that may be selected by the transaction preparationinstructions 124 or included in the product or service results.

In an implementation, transaction preparation instructions 124 mayprovide a set of product and service results for the search. Thetransaction preparation instructions 124 may utilize the set of resultsto select the product or service that is to be purchased. In animplementation, the transaction preparation instructions 124 may selectthe product or service (that is to be purchased) according to a set ofpredefined rules. For example, the product or service (that is to bepurchased) may be selected based on the user input, location of theuser, cost comparison of sellers (e.g., partners, third party retailers,third party service providers, etc.), shipping date comparison of thesellers, or other criteria. In another implementation, the results ofthe search are presented for selection by the user. In anotherimplementation, the profile information may include information relatingto the general likes or dislikes of the user t to determine the productor service to be purchased including the types of items a user likes,qualities of items the user likes, the categories of items a user likes,minimum item rating requirements, item pricing requirements, userlocation and context information, shipping requirements, etc.

In an implementation, transaction preparation instructions 124 mayutilize context information associated with the user to determine theproduct or service to be purchased. Based on the context information,the transaction preparation instructions 124 may refine the search forproducts or services to be purchased. In one embodiment, the contextinformation may include personal data associated with the user, datafrom a database associated with the user, data describing an event, datadescribing an acoustic environment in which the spoken input isreceived, location, local time, etc. For example, the transactionpreparation instructions 124 may utilize the time of the user input tofurther define the availability of product or service to be purchased.

Continuing the foregoing examples, a user input related to “lawnmower”may cause transaction preparation instructions 124 to cause a search ona third party search engine 142 to be initiated using the search term“lawnmower.” In an implementation, depending on the context (e.g.,indicating that the user intends to buy a lawnmower), transactionpreparation instructions 124 may add additional search terms such as“purchase” or “sale.” Transaction preparation instructions 124 maysearch (in addition to or instead of) other remote information sources140 as well (e.g., retail related to “lawnmower” from one or more thirdparty retailers 144, landscaping services related to “lawnmower” fromone or more third party service providers 146, and/or other informationrelated to “lawnmower” from one or more other remote information sources140).

In another embodiment, the transaction preparation instructions 124 mayutilize user inputs such as location-based inputs (e.g., GPS data, cellID, etc.) to further refine the search for products or services to bepurchased. The transaction preparation instructions 124 may utilize thelocation-based input to further refine the geographic area in which theproducts or services are offered. For example, if the user utters“Please buy a pizza,” the transaction preparation instructions 124utilize the location-based inputs to determine the closest pizzeria inrelation to the user. In an implementation, the transaction preparationinstructions 124 may utilize website browsing information to refine thesearch for products or services to be purchased. For example, if theuser utters “buy this” while browsing a retailing website, thetransaction preparation instructions 124 may utilize website browsinginformation to determine the product or service the user is viewing. Itshould be contemplated that the transaction preparation instructions 124prepares and/or completes checkout of the determined product or servicedirectly from the website (or the seller associated with the website) orfrom another seller that may not be associated with the website.

In an implementation, the transaction preparation instructions 124 mayutilize the profile information to select the product or service and/orthe sellers from which the product or service is to be purchased. Asdescribed below, the profile information may include preferred sellers,brands, style, size, or other parameters related to products or servicesthat may be automatically or manually pre-set. The profile informationmay also include the types of items a user likes, qualities of items theuser likes, the categories of items a user likes, minimum item ratingrequirements, item pricing requirements, user location and contextinformation, shipping requirements, etc. The transaction preparationinstructions 124 may select the product or service and the sellers (fromwhich the product or service is to be purchased) based on the profileinformation. As an example, preferred retailers from which products orservices is to be purchased and preferred brands of such products orservices may be automatically pre-set by the system (e.g., pre-set tosystem preferred sellers and brands) until the defaults are manuallymodified by users. The default store, brand, style, size, or otherparameters may be obtained (in response to an utterance indicative of auser's intent to purchase a product or service) to prepare and/orcomplete checkout of a product or service purchase unless the singleutterance (or other information) specifies otherwise.

In an implementation, selection of the product or service purchases bythe transaction preparation instructions 124 may be limited to certaincategories of products or services (e.g., no automobiles), a particularprice range (e.g., no more than $100), etc., to reduce the number orseverity of purchases related to fraud. The categories of product orservices and/or the price ranges may, for instance, be automatically ormanually pre-set (e.g., automatically preset by the system, manuallypre-set by the user) and stored in the profile information.

In one implementation, the transaction preparation instructions 124 mayprovide prospective transactions or offers to the user based on theuser's profile information. For example, the transaction preparationinstructions 124 may prepare a transaction for the user without anyinput from the user. In one implementation, the transaction preparationinstructions 124 may analyze the user's profile information to determineany potential transaction opportunities, and provide a prospectivetransaction or offer related to the potential transaction opportunity.For example, in the case that voice commerce application 120 determinesan upcoming anniversary of the user, the transaction preparationinstructions 124 may prepare a prospective purchase for the user relatedto the anniversary. In another implementation, the transactionpreparation instructions 124 may provide offers to the user related topurchases for the potential transaction opportunity.

In an implementation, an administrator of the system 100 (or a subsystemthereof) may manage a set of predetermined sellers from whoseinventories are searched for available products or services in responseto a user input indicative of a user's intent to purchase. As anexample, the administrator may specify a set of sellers that havepriority over other sellers in having their products or services offeredto users. Thus, a seller from which a product or service is to bepurchased may be selected from the predetermined set of sellersspecified by the administrator. Other criteria may, of course, beconsidered when selecting a seller with which a user is to complete apurchase transaction for a product or service.

Checkout Management

In an implementation, the checkout management instructions 126 mayprepare and/or complete checkout of selected product or servicepurchases related to one or more user inputs. The checkout managementinstructions 126 may determine payment information that is to be used topay for a selected product or service, shipping information that is tobe used to deliver the selected product or service, and/or otherinformation that is thereafter utilized to prepare and/or complete thepurchase of the selected product or service. For example, the checkoutmanagement instructions 126 may utilize default payment informationstored in the profile information for preparing or completing checkoutof the selected product or service. Likewise, the checkout managementinstructions 126 may utilize default shipping information stored in theprofile information for preparing or completing checkout of the selectedproduct or service. In another implementation, the checkout managementinstructions 126 utilize an address book or contact list of the userstored in the profile information to provide shipping information forcheckout of products or services for individuals other than the user.For example, a user input may reference an individual, other than theuser, that is recognized by the user input processing instructions 122(e.g., “Send flowers to my mom” wherein the user's mom is recognized asthe intended recipient of the flowers). The checkout managementinstructions 126 may utilize the address book or contact list of theuser to determine if the referenced individual's address is availablefor input as the shipping information.

In one implementation, the checkout management instructions 126automatically complete the checkout of the product or service purchase.As an example, a single utterance from the user may result in thecompletion of checkout of the product or service without further inputor approval from the user. In another implementation, the checkoutmanagement instructions 126 may present a request for confirmation ofthe determined product or service, shipping information, paymentinformation, and/or other information to the user to solicit aconfirmation from the user to complete the checkout of the product orservice purchase. For example, the checkout management instructions 126may prepare all of the aspects (e.g., payment information, shippinginformation, etc.) of checkout of the product or service purchase butwait until confirmation from the user to complete checkout.

In an implementation, the checkout management instructions 126 mayutilize user profile information for preparing and/or completingcheckout of product or service purchases via a user input. In animplementation, the checkout management instructions 126 may utilizedefaults associated with the user profile information, such as defaultpayment information, default shipping information, etc., for preparingand/or completing checkout of product or service purchases. In anotherimplementation, the checkout management instructions 126 utilize anaddress book or contact list of the user stored in the profileinformation to provide shipping information for checkout of products orservices for individuals other than the user.

Profile Management

In an implementation, stored user profile information (e.g., name,payment information, shipping information, preferences, etc.) may beutilized by voice commerce application 120 for preparing and/orcompleting checkout of product or service purchases. In animplementation, profile management instructions 128 may automaticallyset defaults associated with the user profile information, such asdefault payment information, default shipping information, etc. Inanother implementation, profile management instructions 128 mayautomatically or manually pre-set profile information for preparingand/or completing checkout of product or service purchases. In animplementation, profile management instructions 128 enable the user toset profile information including default payment and shippinginformation utilized by the voice commerce application 120.

In an implementation, profile management instructions 128 mayautomatically or pre-set preferred sellers, brands, style, size, orother parameters related to products or services. As an example,preferred retailers or service providers from which products or servicesare to be purchased and preferred brands of such products or servicesmay be automatically pre-set by the profile management instructions 128(e.g., pre-set to system preferred sellers and brands) until thepreferences are manually modified by users. The preferred store, brand,style, size, or other parameters may be obtained (in response to asingle utterance) to prepare and/or complete checkout of a product orservice purchase unless the single utterance (or other information)specifies otherwise. In an implementation, profile managementinstructions 128 enable the user to set preferred sellers, brands,style, size, or other parameters related to products or servicesutilized by the voice commerce application 120. The profile managementinstructions 128 may automatically or pre-set information relating tothe general likes or dislikes of the user to determine a product orservice to be purchased including the types of items a user likes,qualities of items the user likes, the categories of items a user likes,minimum item rating requirements, item pricing requirements, userlocation and context information, shipping requirements, etc.

In an implementation, profile management instructions 128 mayautomatically or pre-set limits of checkout of product or servicepurchases to certain categories of products or services (e.g., noautomobiles), a particular price range (e.g., no more than $100), etc.,to reduce the number or severity of purchases related to fraud. Thecategories of product or services and/or the price ranges may, forinstance, be automatically or manually pre-set (e.g., automaticallypreset by the system, manually pre-set by the user). In animplementation, profile management instructions 128 enable the user toset limits of checkout of product or service purchases to certaincategories of products or services (e.g., no automobiles), a particularprice range (e.g., no more than $100), or other criteria.

In another implementation, profile management instructions 128 may storeprofile information relating to the user's personal information. Forexample, the profile information may include the user's address book orcontact list, calendar, and other information which assist the voicecommerce application 120 in determining products or services to bepurchased. In one implementation, the user's personal information may bepre-stored based on the registration information or otherwise set by theuser.

User Interface

In an implementation, user interface instructions 129 may generate avoice commerce interface. The voice commerce interface may providestatus information relating to the preparation and/or completion ofcheckout of product or service purchases. For example, the voicecommerce interface may indicate to a user when checkout of product orservice purchases is completed. In one implementation, the userinterface instructions 129 may also provide the user with a request forconfirmation to complete checkout of a product or service purchase.Examples of the voice commerce interface are illustrated with respect toFIGS. 5, 6A, and 5B.

In an implementation, user interface instructions 129 may generate aprofile information management interface. The profile managementinterface may allow the user to set profile information related to thepurchase of products or services. For example, the profile managementinterface enables the user to set default payment and shippinginformation. The profile management interface may also enable the userto set preferred sellers, brands, style, size, or other parametersrelated to products or services as well as limits of certain categoriesof products or services and particular price ranges.

Examples of System Architectures and Configurations

Different system architectures may be used. For example, all or aportion of voice commerce application 120 may be executed on a userdevice. In other words, computing device 110 as illustrated may includea user device operated by the user. In implementations where all or aportion of voice commerce application 120 is executed on the userdevice, the user device may search remote information sources, prepareor complete checkout of product or service purchases, generate theinterface, and/or perform other functions/operations of voice commerceapplication 120.

All or a portion of voice commerce application 120 may be executed on aserver device. In other words, computing device 110 as illustrated mayinclude a server device that obtains a user request from a user deviceoperated by the user. In implementations where all or a portion of voicecommerce application 120 is executed on the server device, the serverdevice may search remote information sources 140, obtain sets ofresults, prepare or complete checkout of product or service purchases,provide the interface to a user device, and/or perform otherfunctions/operations of voice commerce application 120.

Although illustrated in FIG. 1 as a single component, computer system104 may include a plurality of individual components (e.g., computerdevices) each programmed with at least some of the functions describedherein. In this manner, some components of computer system 104 mayperform some functions while other components may perform otherfunctions, as would be appreciated. The one or more processors 112 mayeach include one or more physical processors that are programmed bycomputer program instructions. The various instructions described hereinare exemplary only. Other configurations and numbers of instructions maybe used, so long as the processor(s) 112 are programmed to perform thefunctions described herein.

It should be appreciated that although the various instructions areillustrated in FIG. 1 as being co-located within a single computingdevice 110, one or more instructions may be executed remotely from theother instructions. For example, some computing devices 110 of computersystem 104 may be programmed by some instructions while other computingdevices 110 may be programmed by other instructions, as would beappreciated. Furthermore, the various instructions described herein areexemplary only. Other configurations and numbers of instructions may beused, so long as processor(s) 112 are programmed to perform thefunctions described herein.

The description of the functionality provided by the differentinstructions described herein is for illustrative purposes, and is notintended to be limiting, as any of instructions may provide more or lessfunctionality than is described. For example, one or more of theinstructions may be eliminated, and some or all of its functionality maybe provided by other ones of the instructions. As another example,processor(s) 112 may be programmed by one or more additionalinstructions that may perform some or all of the functionalityattributed herein to one of the instructions.

The various instructions described herein may be stored in a storagedevice 114, which may comprise random access memory (RAM), read onlymemory (ROM), and/or other memory. The storage device may store thecomputer program instructions (e.g., the aforementioned instructions) tobe executed by processor(s) 112 as well as data that may be manipulatedby processor(s) 112. The storage device may comprise floppy disks, harddisks, optical disks, tapes, or other storage media for storingcomputer-executable instructions and/or data.

The various components illustrated in FIG. 1 may be coupled to at leastone other component via a network 102, which may include any one or moreof, for instance, the Internet, an intranet, a PAN (Personal AreaNetwork), a LAN (Local Area Network), a WAN (Wide Area Network), a SAN(Storage Area Network), a MAN (Metropolitan Area Network), a wirelessnetwork, a cellular communications network, a Public Switched TelephoneNetwork, and/or other network. In FIG. 1 and other drawing Figures,different numbers of entities than depicted may be used. Furthermore,according to various implementations, the components described hereinmay be implemented in hardware and/or software that configure hardware.

User device(s) may include a device that can interact with computersystem 104 through network 102. Such user device(s) may include, withoutlimitation, a tablet computing device, a smartphone, a laptop computingdevice, a desktop computing device, a network-enabled appliance such asa “Smart” television, a vehicle computing device, and/or other devicethat may interact with computer system 104.

The various databases 132 described herein may be, include, or interfaceto, for example, an OracleTM relational database sold commercially byOracle Corporation. Other databases, such as Informix™, DB2 (Database 2)or other data storage, including file-based (e.g., comma or tabseparated files), or query formats, platforms, or resources such as OLAP(On Line Analytical Processing), SQL (Structured Query Language), a SAN(storage area network), Microsoft Access™, MySQL, PostgreSQL, HSpace,Apache Cassandra, MongoDB, Apache CouchDB™, or others may also be used,incorporated, or accessed. The database may comprise one or more suchdatabases that reside in one or more physical devices and in one or morephysical locations. The database may store a plurality of types of dataand/or files and associated data or file descriptions, administrativeinformation, or any other data. The database(s) 132 may be stored instorage device 114 and/or other storage that is accessible to computersystem 104.

Example Flow Diagrams

The following flow diagrams describe operations that may be accomplishedusing some or all of the system components described in detail aboveand, in some implementations, various operations may be performed indifferent sequences and various operations may be omitted. Additionaloperations may be performed along with some or all of the operationsshown in the depicted flow diagrams. One or more operations may beperformed simultaneously. Accordingly, the operations as illustrated(and described in greater detail below) are exemplary by nature and, assuch, should not be viewed as limiting.

FIG. 3 depicts a data flow diagram for a process 300 for providing voicecommerce, according to an implementation of the invention. The variousprocessing operations and/or data flows depicted in FIG. 3 (and in theother drawing figures) are described in greater detail herein. Thedescribed operations may be accomplished using some or all of the systemcomponents described in detail above and, in some implementations,various operations may be performed in different sequences and variousoperations may be omitted. Additional operations may be performed alongwith some or all of the operations shown in the depicted flow diagrams.One or more operations may be performed simultaneously. Accordingly, theoperations as illustrated (and described in greater detail below) areexemplary by nature and, as such, should not be viewed as limiting.

In an operation 302, a natural language utterance of a user may bereceived. As an example, upon receipt, the natural language utterancemay be processed by a speech recognition engine to recognize one or morewords of the natural language utterance. The recognized words may thenbe processed, along with context information associated with the user,by a natural language processing engine to determine one or moreproducts or services and/or other information (e.g., paymentinformation, shipping information, seller information, associated costinformation, etc.) that can be used to prepare and/or complete checkoutof product or service purchases.

In an operation 304, a product or service to be purchased on behalf ofthe user may be determined based on the natural language utterance. Asan example, upon recognition of one or more words associated with thenatural language utterance that are related to at least one product orservice, the product/service-related words may be utilized to search oneor more databases associated with one or more third party retailersand/or service providers, and obtain results indicating one or moreproducts or services. The results may then be processed, along withcontext information associated with the user, to select the mostrelevant product or service as the product or service that is to bepurchased on behalf of the user.

As illustrated by FIG. 3, in one implementation, the product or servicethat is to be purchased may be determined without any further user inputafter the receipt of the natural language utterance (from which thedetermination of the product or service to be purchased is based). Inanother implementation, the product or service that is to be purchasedmay be determined without further user input identifying the product orservice after the receipt of the natural language utterance.

In an operation 306, payment information that is to be used to pay forthe product or service may be retrieved. As an example, default paymentinformation associated with the user (e.g., for paying for product orservices on behalf of the user) may be stored as profile informationassociated with the user. Such default payment may, for example, beretrieved from one or more databases storing the user's profileinformation, and utilized to pay for the product or service.

In an operation 308, shipping information that is to be used to deliverthe product or service may be retrieved. As an example, default shippinginformation associated with the user (e.g., for delivering products orservices on behalf of the user) may be stored as profile informationassociated with the user. Such default shipping information may, forinstance, retrieved from one or more databases storing the user'sprofile information, and be utilized to deliver the product or service.

In an operation 310, a purchase transaction for the product or servicemay be completed based on the payment information and the shippinginformation.

As illustrated by FIG. 3, in one implementation, the purchasetransaction may be completed without any further user input after thereceipt of the natural language utterance (from which the determinationof the product or service to be purchased is based). In anotherimplementation, the product or service that is to be purchased may bedetermined without further user input identifying the product orservice, identifying the payment information, or identifying theshipping information after the receipt of the natural languageutterance.

FIG. 4 depicts a data flow diagram for another process 400 for providingvoice commerce, according to an implementation of the invention. Thevarious processing operations and/or data flows depicted in FIG. 4 (andin the other drawing figures) are described in greater detail herein.The described operations may be accomplished using some or all of thesystem components described in detail above and, in someimplementations, various operations may be performed in differentsequences and various operations may be omitted. Additional operationsmay be performed along with some or all of the operations shown in thedepicted flow diagrams. One or more operations may be performedsimultaneously. Accordingly, the operations as illustrated (anddescribed in greater detail below) are exemplary by nature and, as such,should not be viewed as limiting.

As illustrated by FIG. 3, a natural language utterance of a user may bereceived, and a product or service that is to be purchased on behalf ofthe user may be determined based on the natural language utterancewithout further user input after the receipt of the natural languageutterance. Payment information that is to be used to pay for the productor service, and shipping information that is to be used to deliver theproduct or service, may also be retrieved.

Referring back to FIG. 4, in an operation 402, a seller from which theproduct or service is to be purchased may be selected. As an example,the user may have specified a set of sellers from which the user prefersto purchase products or services. As such, the seller may be selectedfrom the predetermined set of sellers specified by the user. As anotherexample, an administrator of the system 100 (or of a subsystem of thesystem 100) may have specified a set of sellers that have priority overother sellers in having their products or services offered to users.Thus, the seller may be selected from the predetermined set of sellersspecified by the administrator. As yet another example, a database ofsellers may be queried to determine which seller has the product orservice available for purchase. The sellers that have the product orservice available for purchase may then be compared against one anotherto determine, for example, which seller has the lower price (or overalllower total purchase costs) for the product or service, which sellershas the highest customer rating, or other criteria in selecting theseller from which the product or service is to be purchased.

In an operation 404, seller information associated with the selectedseller may be retrieved. As an example, seller information may comprisea name of the seller, contact information associated with the seller, aprice at which the seller will sell the product or service to the user,individual or overall costs involved with purchase of the product orservice from the seller, a refund policy of the seller for the productor service, or other information.

In an operation 406, a request for user confirmation (to purchase theproduct or service from the seller and to use the payment informationand the shipping information for a purchase transaction for the productor service) may be provided without further user input after the receiptof the utterance.

In an operation 408, it may be determined that the user has confirmedpurchasing of the product or service from the seller and use of thepayment information and the shipping information for the purchasetransaction. As such, in an operation 410, the purchase transaction maybe completed based on the seller information, the payment information,and the shipping information without further user input after thereceipt of the utterance other than a user confirmation with respect tothe confirmation request.

Example Screenshots

FIG. 5 illustrates a screenshot 502 of a user interface whichfacilitates voice commerce, according to an implementation of theinvention. The described screenshots may be accomplished using some orall of the system components described in detail above. As shown inscreenshot 502 of FIG. 5, a voice commerce application may enable theuser to complete checkout of product or service purchases via a singleutterance. As depicted in screenshot 502, the user may say “Send flowersto Betsy.” In response to receiving the utterance from the user, thevoice commerce application may determine that flowers are to bepurchased, and select a third party retailer from which to purchase theflowers. As an example, the user may have purchased a particular kind offlower (e.g., red roses) for Betsy numerous times in the past. As such,the particular kind of flower may be determined as the particularproduct that is to be purchased on behalf of the user for Betsy. Theselection of the product may, for example, be performed without furtheruser input identifying the product type (e.g., flowers) after thereceipt of the utterance, without any further user input after thereceipt of the utterance, etc.

The voice commerce application may also determine the paymentinformation to be used to pay for the flowers. Because the utteranceindicates that the flowers are to be sent to Betsy, the voice commerceapplication may determine Betsy's address from the user's address bookor contact list and provide Betsy's shipping information to theretailer. The voice commerce application may then, for example, completea purchase transaction using seller information associated with thethird party retailer, the payment information, the shipping information,or other information without further user input from the user. Uponcompleting the purchase transaction for the flowers, the voice commerceapplication may indicate that checkout for the flowers has beencompleted. In an implementation, the product to be purchased, a sellerfrom which the product is to be purchased, payment information, shippinginformation, or other information may be displayed to the user.

FIGS. 6A and 6B illustrate screenshots 602 and 604 of another userinterface which facilitates voice commerce, according to animplementation of the invention. The described screenshots may beaccomplished using some or all of the system components described indetail above. As shown in screenshot 602 of FIG. 6A, a voice commerceapplication may solicit a user confirmation from a user with respect toa product purchase before completing checkout of the product purchase.As depicted in screenshot 602, the user may say “Send flowers to Betsy.”In response to receiving the single utterance from the user, the voicecommerce application may determine that flowers are to be purchased, andselect a third party retailer from which to purchase the flowers. Thevoice commerce application may also determine the payment information tobe used to pay for the flowers. Because the utterance indicates that theflowers are be sent to Betsy, the voice commerce application maydetermine Betsy's address from the user's address book or contact listand provide Betsy's shipping information to the retailer. The voicecommerce application may then present a request for user confirmation ofthe purchase to the user (e.g., without further user input after thereceipt of the utterance). As shown in screenshot 604, the user mayconfirm purchase of the flowers by saying “Yes.” Upon confirmation ofthe purchase, the voice commerce application may indicate that checkoutfor the flowers has been completed.

FIG. 7A illustrates a screenshot 702 of a user interface whichfacilitates management of user profile information, according to animplementation of the invention. The described screenshots may beaccomplished using some or all of the system components described indetail above. As shown in screenshot 702, the user profile informationinterface includes the user name, default payment information, anddefault shipping information. The user may edit any data fieldsassociated with the user name, default payment information, and defaultshipping information.

FIG. 7B illustrates a screenshot 704 of another user interface whichfacilitates management of user profile information, according to animplementation of the invention. The described screenshots may beaccomplished using some or all of the system components described indetail above. As shown in screenshot 704, the user profile informationinterface may enable the user to pre-set preferences of differentproducts and/or services to be purchased. The profile informationinterface includes a product/service category that may be selected bythe user. For each product/service category, the user may selectpreferred sellers, preferred brands, preferred styles, preferred sizes,and other parameters related to the products/services to be selected.The user may also limit certain categories of products or services to aparticular price range. The user may edit any data field associated withproduct/service category to include preferred retail stores/serviceproviders, preferred brands, preferred styles, preferred sizes, andprice ranges.

Other implementations, uses and advantages of the invention will beapparent to those skilled in the art from consideration of thespecification and practice of the invention disclosed herein. Thespecification should be considered exemplary only, and the scope of theinvention is accordingly intended to be limited only by the followingclaims.

1. A method for providing voice commerce, the method being implementedon a computer system having one or more physical processors programmedwith computer program instructions which, when executed, perform themethod, the method comprising: receiving, by the computer system, afirst user input comprising a natural language utterance; providing, bythe computer system, the natural language utterance as an input to aspeech recognition engine; obtaining, by the computer system, one ormore words or phrases recognized from the natural language utterance asan output of the speech recognition engine; searching, by the computersystem, one or more data sources of products or services based on theone or more words or phrases; selecting, by the computer system, withoutfurther user input other than the first user input, a product or servicefrom the data source to be purchased based on the search; receiving, bythe computer system, a second user input indicating confirmation by auser to initiate a purchase transaction of the selected product orservice; and automatically initiating, by the computer system, apurchase transaction of the selected product or service based on theconfirmation.
 2. The method of claim 1, wherein selecting the product orservice further comprises: determining, by the computer system, acontext based at least on the one or more words or phrases, wherein theproduct or service is selected based at least on the determined context.3. The method of claim 1, wherein initiating the purchase transactionfor the selected product or service comprises: obtaining, by thecomputer system, payment information with which to pay for the selectedproduct or service, wherein the purchase transaction is initiated basedon the payment information without receiving confirmation of the paymentinformation by the user.
 4. The method of claim 1, wherein initiatingthe purchase transaction for the selected product or service comprises:obtaining, by the computer system, shipping information with which todeliver the selected product or service, wherein the shippinginformation specifies a name or address of a recipient to which theselected product or service is to be delivered after the selectedproduct or service is purchased, and wherein the purchase transaction isinitiated based on the shipping information without receivingconfirmation of the shipping information by the user.
 5. The method ofclaim 1, the method further comprising: obtaining, by the computersystem, seller information describing one or more products or servicesavailable from one or more sellers via one or more remote informationsources; and storing, by the computer system, the seller information inthe one or more databases data sources.
 6. The method of claim 5,wherein the one or more remote information sources comprise at least athird party search engine, a third party retailer, and/or a third partyservice provider.
 7. The method of claim 5, wherein the method furthercomprises: selecting, by the computer system, a seller from which topurchase the selected product or service.
 8. The method of claim 7,wherein the seller information comprises a price at which the one ormore sellers will sell the one or more products or services, whereinselecting the seller comprises selecting the seller based on the priceat which the seller will sell the selected product or service.
 9. Themethod of claim 7, the method further comprising: obtaining, by thecomputer system, user profile information associated with the user,wherein the user profile information indicates a predetermined set ofsellers associated with the user, wherein selecting the seller comprisesselecting the seller from the predetermined set of sellers indicated bythe user profile information.
 10. The method of claim 7, the methodfurther comprising: obtaining, by the computer system, a predeterminedset of sellers specified by an administrator of the system that isdifferent than the user, wherein selecting the seller comprisesselecting the seller from the predetermined set ofadministrator-specified sellers.
 11. The method of claim 1, whereininitiating the purchase transaction of the selected product or servicecomprises: obtaining, by the computer system, payment information withwhich to pay for the selected product or service; and obtaining, by thecomputer system, shipping information with which to deliver the selectedproduct or service, wherein the shipping information specifies a name oraddress of a recipient to which the selected product or service is to bedelivered after the selected product or service is purchased, andwherein the purchase transaction is initiated based on the paymentinformation and the shipping information.
 12. The method of claim 11,the method further comprising: identifying, by the computer system, anintended recipient of the identified product or service based on thefirst user input and/or the second user input, and wherein obtaining theshipping information comprises: obtaining, by the computer system, anaddress of the intended recipient.
 13. The method of claim 12, whereinobtaining the address of the intended recipient comprises: accessing, bythe computer system, an address book of the user, wherein the addressbook comprises an identification of the intended recipient and theaddress of the intended recipient.
 14. The method of claim 11, themethod further comprising: initiating by the computer system, thepurchase transaction without receiving confirmation of the paymentinformation or the shipping information by the user.
 15. The method ofclaim 1, the method further comprising: providing, by the computersystem, without further user input other than the first user input, arequest for user confirmation to initiate the purchase transaction forthe selected product or service, wherein the second user input isreceived responsive to the request; determining, by the computer system,that the user has confirmed the purchase transaction based on the seconduser input, wherein the purchase transaction of the selected product orservice is initiated based on the determination.
 16. A system forproviding voice commerce, the system comprising: one or more physicalprocessors programmed with computer program instructions which, whenexecuted, cause the one or more physical processors to: receive a firstuser input comprising a natural language utterance; provide the naturallanguage utterance as an input to a speech recognition engine; obtainone or more words or phrases recognized from the natural languageutterance as an output of the speech recognition engine; search one ormore data sources of products or services based on the one or more wordsor phrases; select, without further user input other than the first userinput, a product or service from the data source to be purchased basedon the search; receive a second user input indicating confirmation by auser to initiate a purchase transaction of the selected product orservice; and automatically initiate a purchase transaction of theselected product or service based on the confirmation.
 17. The system ofclaim 16, wherein to select the product or service, the one or morephysical processors are further caused to: determine a context based atleast on the one or more words or phrases, wherein the product orservice is selected based at least on the determined context.
 18. Thesystem of claim 16, wherein to initiate the purchase transaction for theselected product or service, the one or more physical processors arefurther caused to: obtain, without further user input after the receiptof the user input, payment information with which to pay for theselected product or service, wherein the purchase transaction isinitiated based on the payment information without receivingconfirmation of the payment information by the user.
 19. The system ofclaim 16, wherein to initiate the purchase transaction for the selectedproduct or service, the one or more physical processors are furthercaused to: obtain, shipping information with which to deliver theselected product or service, wherein the shipping information specifiesa name or address of a recipient to which the selected product orservice is to be delivered after the selected product or service ispurchased, and wherein the purchase transaction is initiated based onthe shipping information without receiving confirmation of the shippinginformation by the user.
 20. The system of claim 16, wherein the one ormore physical processors are further caused to: obtain sellerinformation describing one or more products or services available fromone or more sellers via one or more remote information sources; andstore the seller information in the one or more data sources.
 21. Thesystem of claim 20, wherein the one or more remote information sourcescomprise at least a third party search engine, a third party retailer,and/or a third party service provider.
 22. The system of claim 20,wherein the one or more physical processors are further caused to:select a seller from which to purchase the selected product or service.23. The system of claim 22, wherein the seller information comprises aprice at which the one or more sellers will sell the one or moreproducts or services, wherein to select the seller, the one or morephysical processors are further caused to: select the seller based onthe price at which the seller will sell the selected product or service.24. The system of claim 22, wherein the one or more physical processorsare further caused to: obtain user profile information associated withthe user, wherein the user profile information indicates a predeterminedset of sellers associated with the user, wherein selecting the sellercomprises selecting the seller from the predetermined set of sellersindicated by the user profile information.
 25. The system of claim 22,wherein the one or more physical processors are further caused to:obtain a predetermined set of sellers specified by an administrator ofthe system that is different than the user, wherein selecting the sellercomprises selecting the seller from the predetermined set ofadministrator-specified sellers.
 26. The system of claim 16, wherein toinitiate complete the purchase transaction of the selected product orservice, the one or more physical processors are further caused to:obtain payment information with which to pay for the selected product orservice; and obtain shipping information with which to deliver theselected product or service, wherein the shipping information specifiesa name or address of a recipient to which the selected product orservice is to be delivered after the selected product or service ispurchased, and wherein the purchase transaction is initiated based onthe payment information and the shipping information.
 27. The system ofclaim 26, wherein the one or more physical processors are further causedto: identify an intended recipient of the identified product or servicebased on the first user input and/or the second user input, and whereinto obtain the shipping information, the one or more physical processorsare further caused to: obtain an address of the intended recipient. 28.The system of claim 27, wherein to obtain the address of the intendedrecipient, the one or more physical processors are further caused to:access an address book of the user, wherein the address book comprisesan identification of the intended recipient and the address of theintended recipient.
 29. The system of claim 26, wherein the one or morephysical processors are further caused to: initiate the purchasetransaction without receiving confirmation of the payment information orthe shipping information by the user.
 30. The system of claim 16,wherein the one or more physical processors are further caused to:provide, without further user input other than the first user input, arequest for user confirmation to initiated the purchase transaction forthe selected product or service, wherein the second user input isreceived responsive to the request; determine that the user hasconfirmed the purchase transaction based on the second user input,wherein the purchase transaction of the selected product or service isinitiated based on the determination.
 31. A method for providing voicecommerce, the method being implemented on a computer system having oneor more physical processors programmed with computer programinstructions which, when executed, perform the method, the methodcomprising: receiving, by the computer system, a first user inputcomprising a natural language utterance; recognizing, by the computersystem, one or more words or phrases from the natural languageutterance; searching, by the computer system, one or more data sourcesof products or services based on the one or more recognized words orphrases from the first user input, and without using further user inputother than the first user input; causing, by the computer system, a setof search results to be presented to a user based on the search, thesearch results indicating one or more products or services from the datasource available for purchase; receiving, by the computer system, asecond user input comprising a selection of at least one of the set ofsearch results, the selection identifying one or more products orservices from the data source to be purchased on behalf of the userbased on the second user input; obtaining, by the computer system, userprofile information associated with the user; identifying, by thecomputer system, payment information and shipping information based onthe user profile information; and automatically initiating completing,by the computer system, a purchase transaction of the identified one ormore products or services based on the identification of the payment andshipping information.
 32. The method of claim 31, wherein recognizingthe one or more words or phrases from the natural language utterancecomprises: providing, by the computer system, the natural languageutterance as an input to a speech recognition engine; and obtaining, bythe computer system, the one or more words or phrases recognized fromthe natural language utterance as an output of the speech recognitionengine.
 33. The method of claim 31, the method further comprising:obtaining, by the computer system, seller information describing one ormore products or services available from one or more sellers via one ormore remote information sources; and storing, by the computer system,the seller information in the one or more data sources.
 34. The methodof claim 31, wherein initiating the purchase transaction without furtheruser input after identifying the payment information and the shippinginformation comprises: initiating by the computer system, the purchasetransaction without receiving confirmation of the payment information orthe shipping information by the user.
 35. A system for providing voicecommerce, the system comprising: one or more physical processorsprogrammed with computer program instructions which, when executed,cause the one or more physical processors to: receive a first user inputcomprising a natural language utterance; recognize one or more words orphrases from the natural language utterance; search one or more datasources of products or services based on the one or more recognizedwords or phrases from the first user input, and without using furtheruser input other than the first user input; cause a set of searchresults to be presented to a user based on the search, the searchresults indicating one or more products or services from the data sourceavailable for purchase; receive a second user input comprising aselection of at least one of the set of search results, the selectionidentifying one or more products or services from the data source to bepurchased on behalf of the user based on the second user input; obtainuser profile information associated with the user; identify paymentinformation and shipping information based on the user profileinformation; and automatically initiate a purchase transaction of theidentified one or more products or services based on the identificationof the payment and shipping information.
 36. The system of claim 35,wherein to recognize the one or more words or phrases from the naturallanguage utterance, the one or more physical processors are furthercaused to: provide the natural language utterance as an input to aspeech recognition engine; and obtain the one or more words or phrasesrecognized from the natural language utterance as an output of thespeech recognition engine.
 37. The system of claim 35, wherein the oneor more physical processors are further caused to: obtain sellerinformation describing one or more products or services available fromone or more sellers via one or more remote information sources; andstore the seller information in the one or more data sources.
 38. Thesystem of claim 35, wherein to initiate the purchase transaction withoutfurther user input after identifying the payment information and theshipping information, the one or more physical processors are furthercaused to: initiate the purchase transaction without receivingconfirmation of the payment information or the shipping information bythe user.
 39. The method of claim 1, the method further comprising:presenting a prompt that identifies the selected product or service, thecost associated with the purchase of the selected product or service,payment information to pay the associated cost, and shipping informationspecifying where the selected product or service is to be delivered; andsoliciting approval of the identified information as the second userinput.
 40. The system of claim 16, wherein the one or more physicalprocessors to are further caused to: present a prompt that identifiesthe selected product or service, the cost associated with the purchaseof the selected product or service, payment information to pay theassociated cost, and shipping information specifying where the selectedproduct or service is to be delivered; and solicit approval of theidentified information as the second user input.
 41. The method of claim1, wherein the one or more data sources comprise a database, website, orother source of available products or services accessible via theinternet.
 42. The system of claim 16, wherein the one or more datasources comprise a database, website, or other source of availableproducts or services accessible via the internet.
 43. The method ofclaim 31, wherein the one or more data sources comprise a database,website, or other source of available products or services accessiblevia the internet.
 44. The system of claim 35, wherein the one or moredata sources comprise a database, website, or other source of availableproducts or services accessible via the internet.
 45. The method ofclaim 1, wherein automatically initiating a purchase transactioncomprises initiating the purchase transaction without further user inputafter the receipt of the second user input.
 46. The system of claim 16,wherein automatically initiate a purchase transaction comprisesinitiating the purchase transaction without further user input after thereceipt of the second user input.
 47. The method of claim 31, whereinautomatically initiating a purchase transaction comprises initiating thepurchase transaction without further user input after identifying thepayment information and the shipping information.
 48. The system ofclaim 35, wherein automatically initiate a purchase transactioninitiating comprises initiating the purchase transaction without furtheruser input after identifying the payment information and the shippinginformation.